package org.lhq.goldenplugin.utils

import com.google.gson.Gson
import java.lang.reflect.Type

object GsonUtils {
    val gson : Gson by lazy {
        Gson()
    }
    /**
     * 对象转换为 JSON 字符串
     */

    fun toJson(obj: Any?): String {
        return gson.toJson(obj)
    }

    inline fun <reified T> fromJson(json: String) : T {
        return gson.fromJson(json, T::class.java)
    }

    fun <T> fromJson(json: String, type: Type) : T {
        return gson.fromJson(json, type)
    }

    fun <T> fromJson(json: String, clazz: Class<T>) : T {
        return gson.fromJson(json, clazz)
    }
}